home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 005 / bills.arc / BILLS.PAS < prev   
Pascal/Delphi Source File  |  1985-03-16  |  2KB  |  75 lines

  1. program bills (input,output);
  2. (* written by Kenneth Lenger
  3.               7263 E. 70th Ave.
  4.               Commerce City, CO 80022
  5.               Compuserv I.D. 70137,2051
  6.               March 17, 1985           *)
  7. const
  8.    slash = '/';
  9. type
  10.    date_string = string[10];
  11. var
  12.    bill_file   : text;
  13.    pay_date    : date_string;
  14.    notes       : string[70];
  15.    today       : date_string;
  16.    modfd_date  : date_string;
  17.  
  18. function Date: Date_string;
  19. type
  20.   regpack = record
  21.               ax,bx,cx,dx,bp,si,ds,es,flags: integer;
  22.             end;
  23.  
  24. var
  25.   recpack:       regpack;                {record for MsDos call}
  26.   month,day:     array[1..2] of char;
  27.   year:          string[4];
  28.   dx,cx:         integer;
  29.  
  30. begin
  31.   with recpack do
  32.   begin
  33.     ax := $2a shl 8;
  34.   end;
  35.   MsDos(recpack);                        { call function }
  36.   with recpack do
  37.   begin
  38.     str(cx,year);                        {convert to string}
  39.     day[1] := chr(((dx mod 256) div 10) + 48);   { " }
  40.     day[2] := chr(((dx mod 256) mod 10) + 48);
  41.     dx     := dx shr 8;
  42.     month[1] := chr((dx div 10) + 48);           { " }
  43.     month[2] := chr((dx mod 10) + 48);
  44.   end;
  45.   date := month + slash + day + slash + year;
  46. end;
  47.  
  48. function change_date(pay_date:date_string):date_string;
  49. var
  50.    year : string[4];
  51.    month,day : string[2];
  52. begin
  53. year := copy(pay_date,7,4);
  54. month := copy(pay_date,1,2);
  55. day   := copy(pay_date,4,2);
  56. change_date := year + slash + month + slash + day;
  57. end;
  58.  
  59. begin (* main program *)
  60. assign (bill_file,'bills.dat');
  61. reset(bill_file);
  62. today := change_date(date);
  63. writeln;
  64. writeln('Today is ', date,'. Things to do:');
  65. writeln('Date       Do this:');
  66. writeln('---------- --------');
  67. while not eof(bill_file) do
  68.    begin
  69.    readln(bill_file,pay_date,notes);
  70.    modfd_date := change_date(pay_date);
  71.    if modfd_date <= today then
  72.       writeln (pay_date,notes);
  73.    end;
  74. writeln('End of Things to do.')
  75. end.